package com.gosuncn.controller;

import com.gosuncn.pojo.OmsNodeInfo;
import com.gosuncn.service.OmsNodeJdbcService;
import com.gosuncn.tools.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 监控信息 Jdbc实现
 * @author zxl
 * @date 2021/7/26
 */
@RestController
@RequestMapping("/omsjdbc")
public class OmsNodeJdbcController {

    @Autowired
    private OmsNodeJdbcService fileService;

    private static  final  String B = "0";



    /**
     * 查询记录
     * @return  list所有数据
     */
    @GetMapping("/getAllData")
    public R getAllData(){
        // 创建列表
        List<OmsNodeInfo> list = null;
        try {
            list = fileService.listData();
            return R.ok().message("查询成功").data("list",list);
        } catch (Exception e) {
            e.printStackTrace();
            return R.error().message("查询失败");
        }
    }


    /**
     * 添加记录
     * @param info
     * @return
     */
    @PostMapping("/addData")
    public R addData(@RequestBody OmsNodeInfo info) {
        try {
            int i = fileService.saveData(info);
            // 删除失败i默认为0；成功为1
            //noinspection AlibabaUndefineMagicConstant
            if (B.equals(String.valueOf(i))) {
                return R.error().message("添加失败");
            } else {
                return R.ok().message("添加成功");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return R.error().message("添加失败");
        }
    }


    /**
     * 删除记录
     * @param id  数据id
     * @return
     */
    @DeleteMapping("/deleteData/{id}")
    public R deleteData(@PathVariable("id") int id) {
        try {
            int i = fileService.deleteData(id);
            // 删除失败i默认为0；成功为1
            //noinspection AlibabaUndefineMagicConstant
            if (B.equals(String.valueOf(i))) {
                return R.error().message("删除失败");
            } else {
                return R.ok().message("删除成功");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return R.error().message("删除失败");
        }
    }


    /**
     * 更新记录
     * @param info
     * @return
     */
    @PutMapping("/updateData")
    public R updateData(@RequestBody OmsNodeInfo info)  {
        try {
            int i = fileService.updateData(info);
            //noinspection AlibabaUndefineMagicConstant
            if (B.equals(String.valueOf(i))){
                return R.error().message("更新失败");
            } else {
                return R.ok().message("更新成功");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return R.error().message("更新失败");
        }
    }
}
